Federated multiprotocol communication

ABSTRACT

Methods, apparatus, and business techniques are disclosed for use in distributed communication systems comprising a plurality of communication protocols. In one embodiment a first air interface is used to initiate communication between a wireless client and a remote server at least partially using a first wireless access point. The server sends the wireless client a stub of a distributed object. The stub is used to instantiate an object class. The object class defines an interface that the remote client can use to communicate with the remote server using an upper layer interface. The distributed object stub also provides an implementation of a software radio configuration for a set of lower protocol layers in a second air interface. The wireless client can thereby communicate with a second wireless access point using said second air interface protocol. Exemplary embodiments of the present invention are disclosed that focus on toll-tag and electronic-commerce related highway systems, distributed federated wireless access systems, and wide area wireless system capacity augmentation.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates generally to mobile data network infrastructuresystems to support communication with clients that employ software radiotechnology. More particularly, the invention relates to client-serversystems used to allow a client to establish communication with afederation of wireless access points using initially unknown andvariable air interface protocols.

2. Description of the Related Art

Software radio based systems have been developed to address the problemof ever changing sets of protocols. Different classes communicationdevices tend to use different communication protocols and are thereforeinoperable together. Software radio moves the digitization process asclose to the antenna as possible. After digitization, digital signalprocessing techniques (DSP) are used to provide the physical layerinterface. In this way, the physical layer of a given air interface maybe specified by DSP software. Similarly, the link layers and above canbe specified in software. This provides a radio system whose operationcan be almost entirely specified in software. Software radio has theadditional advantage that a first air interface protocol may be used todownload a software module to implement a second air interface protocol.This provides a great potential for inter-system roaming.

Object based technologies have been used to implement software radioconcepts. For example, the Java™ API's for Integrated Networks (JAIN™)is a protocol based on the Java™ object oriented programming languageand virtual machine from Sun Microsystems Inc. JAIN defines a set ofcommunication protocol application programmer interfaces (API's) thatimplement various protocols to include call setup, IP telephony, andmanagement functions. The advantage of using a language such as Java isthat Java software runs on a virtual machine and is therefore platformindependent. This allows a single software module to be downloaded to avariety of mobile devices, for example, using different hardwarearchitectures and processor implementations.

Distributed object technology is also known in the art. Distributedobject technology allows object-oriented classes to be defined thatinclude a server-side remote object and a client-side object stub, alsocalled a “proxy.” The server-side remote object implements one or moreservices and a communication protocol to communicate with theclient-side stub. The client-side stub provides the client with an API(“interface” in object-oriented programming terminology) to callfunctions (i.e., “invoke methods” in object oriented programmingterminology). When a method is invoked on the client-side stub, a remoteprocedure call and a set of parameters are marshaled into a message andsent across a communication channel to the server-side remote object.The server-side remote object then receives the message, unmarshals theparameters, invokes the corresponding method on behalf of the client,marshals a set of results into a message, and sends the message back tothe client.

A problem with many existing communication networks is lack ofinteroperability. First and second wireless networks with or withoutoverlapping coverage areas may use different protocols and beincompatible. Suppose the second network provides a service not providedby the first network, for example a higher speed or lower cost accesslink. It would be desirable to have an efficient handoff procedure toallow the mobile to transition its protocol stack from the first networkto the second network to access the service of the second network.

Prior art mobile networks provide roaming and allow users to be handedoff from one type of system to another. For example, a prior art “dualmode cellular phone” supports a first protocol such as IS-136 digitalcellular and a second protocol such as AMPS analog cellular. To maintaina broader coverage area, the cell phone is capable of connecting toeither type of cellular system. Some cellular systems allow a singlecall may be carried during by more than one air interface protocol. Forexample, during a first time interval the call is carried by an IS-136link and during a second time interval the call is carried by an AMPSlink. Over-the-air software downloading of new communication protocolsoftware modules to software radios is known in the art. However,efficient methods are lacking to implement roaming usingprotocol-software downloads.

Certain types of cellular phones and wireless data devices allow a userto roam between an indoor network (e.g., wireless LAN or picocellnetwork) and an outdoor network (e.g., cellular or PCS wide coveragearea network). For example, a user may access the network usingenterprise level wireless access points while in a building, but whenthe user walks outside and gets in his car, the call may be handed offto a cellular network. This allows users to access lower cost (e.g., nousage charge) services while in the vicinity of a home station and touse leased services (e.g., with usage charge) while away from the homestation. This is another variant of the concept of a dual mode phone.

While dual-mode phones and wireless data devices are quite useful theyhave drawbacks. A dual-mode phone can readily be extended to the conceptof a “multi-mode phone.” A multi-mode phone or data device implementstwo or more protocol stacks to communicate with two or more types ofnetworks. The trouble with implementing multi-mode phones is cost andversatility. In prior art phones the two or more supported protocolstend to require duplication of many hardware and software components.The software radio concept can be used to minimize the duplication ofhardware resources and has the advantage that software can bedynamically downloaded. This allows the software radio to adapt to achanging environment by downloading new communication software. Incurrent systems, handoffs are typically handled at the link layer. Whilecurrent handoff techniques can be used to hand a call of from a firstprotocol to a second protocol (e.g., IS-136 to AMPS), prior art handoffmechanisms are not optimized for situations where the second protocol isunknown to the mobile and therefore requires a software download and areconfiguration operation in the software radio. Moreover, prior arthandoff procedures are generally controlled at the link layer by anetwork operator. The user has little or no control over handoffs andcannot use a handoff to shop between services to optimize a set of usercriteria.

The prior art lacks a network infrastructure to coordinate the use of aloose federation of networks having protocols initially unknown to aroaming mobile. A loose federation of networks is a form of aninternetwork that includes a plurality of wireless access pointssupplied by associates. The wireless access points may involve differentprotocols and may be owned by individual people, local businesses, orwireless access service providers. A heretofore lacking networkinfrastructure would be needed to coordinate the federation of wirelessaccess points to allow a mobile client to obtain wireless access fromthe federation.

As wireless access technologies evolve, there will be an increasingvariety of air interface protocols. These air interface protocols willinclude general purpose access protocols, local area network (LAN)protocols, short range protocols such as Bluetooth and its successors,plus short range broadcast/transponder protocols as are used inintelligent transportation systems (ITS). While it is known thatsoftware radio can use a first airlink to download a software definitionfor a second airlink, improved methods are needed to manage andconfigure a mobile to efficiently make use of a heterogeneous networkcomprising a variety of protocols.

It would be desirable to have a system to provide a user with a means toefficiently select and use a plurality of initially unknown protocols inorder to optimize a user-specified network performance criterion in aloosely federated network. It would be desirable to be able to use thisoptimization to control the dynamic loading an initially unknownprotocol. It would be desirable to have a set of client-side andserver-side systems and methods to allow a mobile device to accessdifferent services using different protocols to achieve an end such asfaster access speeds, lower cost access, or to access a broader range ofservices. It would be desirable for a client to have a server act onbehalf of the client to select the best access protocol to meet theclient's needs. It would be desirable to provide a software architecturethat minimizes the amount of software that needs to be downloaded to themobile to support a new protocol. It would be desirable to have businessstructures and business methods to allow a federated set of associatesto augment a network with additional wireless access points (e.g.,picocell level), thereby increasing the system capacity of a wide areamobile network. It would be desirable to have business structures andmethods to allow a federated set of associates to supply a set ofpicocell level wireless access points in order to sell locally availablewireless access services to a broad customer base.

SUMMARY OF THE INVENTION

The present invention solves these and other problems by providingsystems and methods to enable a mobile unit to access a federation ofassociated wireless access providers. The present invention includesvarious aspects as outlined in here and in further detail in thedetailed description.

A first aspect of the present invention involves a wireless terminal.The wireless terminal includes an upper layer software module thatcommunicates with a corresponding peer-upper layer communication modulein a network server. The terminal also includes a transceiver coupled toan air-interface antenna. The transceiver is operative to support thetransmission of one or more upper layer communication packets with thenetwork server. The wireless terminal also includes a software radioconfiguration module. The transceiver is operative to perform a datatransaction with the network server to obtain an object defining aclass. This object is passed to the software radio configuration module.The software radio configuration module uses the object to reconfigureat least one lower protocol layer in the transceiver. The transceiver isthen operative to support the transmission of one or more upper layercommunication packets using the reconfigured protocol layer. In someembodiments a first and a second transceiver are used to support thefirst and second lower layer protocols. Some embodiments also include aGPS receiver. The terminal sends a location indication to the server tohelp identify a protocol to be used by the wireless terminal. Thewireless terminal of the present invention uses a configurable protocolstack software architecture that allows applications to operate over avariety of lower layers and also allows the lower layers to beefficiently reconfigured.

Another aspect of the present invention involves a method of processingin a network server. The network server receives from a remote client arepresentation of geographical location. The representation istransmitted at least partially via a first air interface protocol to afirst wireless access point. The server next sends to the remote clientan indication of a second air interface protocol and a set of parametersfor use in accessing a second wireless access point using the second airinterface. The server then sends to the second wireless access point anindication of the remote client and a code requesting the secondwireless access point to provide wireless access to the remote client.

Still another aspect of the present invention deals with a method ofproviding federated wireless access services with the assistance ofassociates. The federated access services are controlled by a networkserver and are made available to the users of a wide area wirelessaccess system. A plurality of associates is enrolled using an on-lineregistration system. Each associate indicates an air interface protocolused by a local wireless access point supplied by the associate. Asignal is received from a wireless client. This signal identifies aproximity of the wireless client and helps the server choose one of thewireless access points to supply access to the client. Next the serversends to the wireless client an indication of a second air interfaceprotocol and a set of parameters for use in accessing a second wirelessnetwork access point using the second air interface. The second wirelessnetwork access point is supplied by one of the associates. The servernext sends to the second wireless network access point an indication ofthe remote client and a code requesting the second wireless networkaccess point to provide wireless access to the remote client. Thismethod allows a wireless user to switch, for example from a CDMAmacrocellular network to a local area network operated by an associate.

The apparatus and systems discussed above are described in furtherdetail in the detailed description below. Many variations of theaforementioned aspects are disclosed.

BRIEF DESCRIPTION OF THE FIGURES

The various novel features of the present invention are illustrated inthe figures listed below and described in the detailed description thatfollows.

FIG. 1 is a block diagram representing an embodiment of a systeminvolving a mobile unit with first and second network connections.

FIG. 2 is a block diagram illustrating an embodiment of a mobile unitdesigned in accordance with the present invention.

FIG. 3 is a block diagram illustrating an implementation of a protocolstack and preferred software architecture of the present invention.

FIG. 4 is a flow chart illustrating an exemplary client-server-providerinteraction to configure a client to initiate communication with awireless access point.

FIG. 5 is a flow chart illustrating a method of selling federatedwireless access services in a multi-protocol environment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 is a block diagram representing an illustrative embodiment 100 ofa system configuration used to support the present invention. A vehicle102 includes a mobile unit 105. The architecture of the mobile unit 105is discussed in more detail in connection with FIG. 2. FIG. 1 depictsone exemplary embodiment. As will be discussed, this figure is alsorepresentative of other embodiments. For example, the mobile unit 105may be embodied within a hand-held cellular phone or wireless datadevice. The present invention may be used with dash-mounted vehiclecomputer/transponders or hand-held devices such as palm-pilots, personaldigital assistants and laptop computers.

The mobile unit 105 is connected to a first antenna 110 which is used tomaintain a first network connection 112. In one type of embodiment, thefirst network connection 112 is a wireless network connection to a widecoverage area cellular network such as a wideband CDMA network. Theantenna 110 is operatively coupled to an air interface and switchingmodule 115 via the first network connection 112. In many applications,the air interface and switching module 115 is provided by a telephonecompany which provides mobile communication services. The switchingmodule handles air interface layer operations to include access andhandoffs among cells supporting the network connection 112. In theillustrative embodiment 100, the air interface and switching module 115is coupled via a communications interface to a packet transportinterface 120. The packet transport interface 120 is operative to coupleinformation between the air interface and switching module 115 and othernetworks and servers. The packet transport interface 120 is preferablycoupled to a network such as the Internet 122. In some embodiments thepacket transport interface 120 performs registration operations to logthe mobile unit 105 in a mobility system such as mobile IP or SIP. Insome embodiments, the packet transport interface 120 also performs layer3 routing functions for packet rerouting within the vicinity of themobile unit 105.

One or more network servers 125 are coupled to the Internet 122. Itshould be noted that in some embodiments the Internet 122 may representa corporate intranet or a virtual private network overlaid upon theInternet. The one or more network servers 125 may be co-located with anddirectly coupled to the packet transport interface 120, or may becoupled across a network such as the Internet 122 as shown in theillustrative embodiment 100.

A communication server 135 may also be coupled to the packet transportinterface 120 to manage connections for the mobile unit 105. Thecommunication server 135 manages network and transport layer mobilityand registration and monitors network level aspects of the connectionbetween the mobile unit 105 and the air interface unit 115. Optionallycoupled to the packet transport interface 120 is an application server130. For example the application server 130 provides wireless dataservices to the mobile unit 105. The application server may implementthe wireless application protocol (WAP) and may provide WAP gatewaytranslation services as well.

The mobile unit 105 is also optionally coupled to a satellite antenna140. This antenna, though depicted as a dish antenna, may be implementedwith other types of antennas. The satellite antenna 140 may be used toreceive satellite communications information. The satellite antenna 140may also be used to receive GPS transmissions. In some systems, thesatellite antenna 140 may be used to both receive and transmit satellitecommunications data and receive GPS transmissions. In some systems thesatellite antenna 140 may be replaced or augmented with a localpositioning system (LPS) antenna. A local positioning system can beimplemented in various ways, but allows a mobile to be accuratelylocated, for example, within a building.

The mobile unit 105 is also optionally coupled to a local area networkantenna 145. The local area network antenna is coupled to communicatewith a local wireless access point 150. A transmission from the localwireless access point 150 may emanate from a building, telephone pole,street light, store front, within a building or a particular floor orarea within a building, and the like. In terms of cellularcommunications technology, the local wireless access point 150 issimilar to a picocell level communication system or a wireless localarea network. The local wireless access point 150 is preferably coupledto a network such as the Internet 122 via a gateway connection 113. Thegateway connection 113 may involve a DS0, T1, DSL or cable modembackhaul link, for example. The gateway portion of the connection 113may also include a router that handles localized mobility functions suchas IP address translations in support of local handoffs to other locallycontrolled wireless access points similar to the wireless access point150. In a preferred embodiment, the local area network of the wirelessaccess point 150 is defined by the range of a low-power radio frequencychannel. Depending on the system configuration, the range of the localarea network may be, for example, as low as 10 feet to as high as amile. In some embodiments, the low power radio channel is defined by aspread spectrum air interface such as the one used by cordless phones,wireless LAN technology, HomeRF, Bluetooth, toll-tag transponders, orother short-range technologies.

In this application, an “air-interface antenna” generically refers toany antenna used to maintain a network connection, receive satellitedata, transmit local area network data, receive local area network data,or perform other related air-interface functions. It should be notedthat while several air interface antennas are illustratively shown onthe vehicle 102, the mobile unit 105 may use a single shared antennastructure to support multiple air interfaces. While some mobile unitsmay include a plurality of distinct antennas, other embodiments mayinclude a shared antenna capable of operating in several differentfrequency bands.

FIG. 1 shows only a local set of connections but, by induction, isrepresentative of a larger network topology. In the illustrativeembodiment, a cellular network providing wide-area coverage is depictedby the connection 112. A given network will typically include aplurality of macrocells and connections 112 using known cellular networktopological methods. A local area connection is depicted by the localarea wireless access point 150. It should be noted that within thecoverage area of given base station in a macrocellular system, there maybe an undermined number of local wireless access points 150. The numberof local wireless access points may vary widely from macrocell tomacrocell. Also, the communication protocol used by the different localwireless access points may vary from one access point 150 to anotherwithin a given macrocell coverage area. Also, a satellite communicationsystem may be overlaid over the macrocellular and picocellular networktopologies.

It should be noted that a given network associate provider may supply aplurality of wireless access points 150 comprising a subnetwork. Thewireless access points in the subnetwork may themselves be arranged in apicocellular topology. Within this subnetwork, handoffs between onepicocell and another are preferably handled locally. A router associatedwith the connection 113 preferably provides needed address translationand routing functions. When the mobile unit 105 leaves the subnetwork,another system level handoff (e.g., assisted by server 125) is needed.Hence the wireless access point may include its own picocellular levelcontrol mechanisms to control subnetwork level handoffs.

FIG. 1 is also representative of alternate embodiments. In a moregeneral context, the mobile unit 105 uses a first air interface protocolto access a network using the first network connection 112. For example,this connection may be an open highway transponder used to communicatebetween a roadside fixed station and a vehicle. In this more generalcontext, the local wireless access point corresponds to any otherwireless protocol that is incompatible with the protocol used by firstnetwork connection 112. For example, the local wireless access point 150may correspond to a lane-by-lane oriented toll tag protocol. In thisexample, as long as the vehicle can communicate with the open highwaytransponder, the present invention allows the mobile unit 105 tocommunicate with the local wireless access point 150, even if the mobileunit 105 is completely ignorant of the protocol used by the localwireless access point 150. In this example, different toll-tag systemsacross the country use different protocols, so the present inventionallows a vehicle to roam between systems and access their services.

FIG. 1 serves as a background scenario to understand the context of thepresent invention, so the operation of the illustrative embodiment 100is discussed in more detail in connection with FIGS. 2-5.

As illustrated in FIG. 2, the mobile unit 105 includes the networkconnection antenna 110 which is coupled to a first air interface frontend 200. In some embodiments, the first air interface front end 200 isimplemented as a cellular or PCS transceiver capable of transferringdata traffic. The first air interface front end 200 provides a physicallayer air interface to support the first network connection 112. Thefirst air interface front end 200 may be implemented using dedicatedcircuits designed for a specific protocol or may use general radiofrequency (RF) and data conversion circuits as used in software radioimplementations.

The first air interface front end 200 is coupled to an air interfacemodule 205 which preferably implements one or more layers within aprotocol stack and is able to receive and transmit packet data. Protocolstacks are well known in the art, as is the construction of networkinterface equipment to implement a network connection. The air interfacemodule 205 preferably supports a macrocellular air interface asimplemented in CDPD, GSM, PCS or wideband CDMA. Such systems typicallyinclude packet and/or circuit switched services. In the highwayapplications, for example, the air interface module 205 may communicateusing a standardized highway transponder protocol. Hence in generalterms, the air interface module 205 communicates using a known protocolto provide wireless network access. The air interface module 205 may beimplemented in customized circuitry or may be implemented using softwareradio processing as is discussed below.

The air interface module 205 is coupled a user input-output device 210.The user input-output device is commonly implemented as a display with amouse and/or keyboard input. Some embodiments make use of other forms ofinput and/or output such as human speech. When human speech is used asan input, it is received via a microphone, digitized, and processed by aspeech recognition circuit to produce a coded command signalrepresentative of a user command. Some embodiments of the user interface210 support voice and/or forms of multimedia communication.

The air interface module 205 is also coupled a configuration and upperlayer communication module 225. The configuration and upper layercommunication module 225 is discussed subsequently.

The local area network antenna 145 is coupled to a second air interfacefront end 215. The second air interface front end 215 provides an airinterface to communicate data packets or other signals with the localwireless access point 150. The second air interface front end 215preferably includes front-end radio frequency and data conversioncircuits used to support software radio methods. The main requirementfor the front end circuitry in the second air interface front end 215 isto support a variety of frequency bands and modulation formats to allowdifferent air interface protocols to be implemented under the control ofa software radio physical layer.

The second air interface front end 215 is coupled to a software radioprocessor 220. The software radio processor 220 is generally implementedwith programmable digital signal processing hardware. For example, suchhardware can be implemented using programmable digital signalprocessors, programmable logic, and/or devices containing a combinationof a digital signal processor and peripheral components which themselvesmay be implemented with programmable logic. The software radio processor220 is operative to implement a physical layer of a selected airinterface communication protocol. In some systems the software radioprocessor 220 may also implement a link layer, a link sublayer, or otherlayers. In a preferred embodiment the software radio processorimplements the physical layer. In another preferred embodiment thesoftware radio processor implements the physical layer and a mediaaccess control (MAC) sublayer of the link layer.

The software radio processor 220 module is coupled to the configurationand upper layer communication module 225. The configuration and upperlayer communication module 225 is preferably coupled to receive asoftware module from the air interface module 205. In a preferredembodiment the software module is an object that instantiates a classand invokes methods defined by one or more interfaces. As is discussedbelow, such a framework is used in accordance with the present inventionto minimize software download requirements.

In some embodiments, the coupling of the software module from the airinterface module 205 to the configuration and upper layer communicationmodule 225 may be performed in response to signals received from theuser interface device 210. In many embodiments the coupling of thesoftware module to the configuration and upper layer communicationmodule 225 is performed as a part of an automated handoff procedure. Theconfiguration and upper layer communication module 225 is coupled tocause the loading of the software module into the software radioprocessor 220. This may involve bytecode compilation in embodimentsinvolving Java or other virtual machines. The software module receivedfrom the first air interface is used to configure one or more lowerlayers of the second air interface. The operation of the mobile unit isdiscussed in greater detail in connection with FIGS. 3-4.

In embodiments involving a GPS receiver, the first air interface 110,200, 205 may be considered to be a dual channel air interface having aGPS receiver with antenna 140 in addition to the first networkconnection (110, 112). In both cases, the first air interface is known(a communication and/or a positioning protocol, possibly a localpositioning protocol) and the second air interface (145, 215, 220) issoftware configurable. Note that in some embodiments, the first networkconnection (110, 112) may also be implemented using a satellite network(140, 200, 205). In some systems the path 110, 200, 205 includes a dualchannel path ((110,140), 200, 205) that overlays, for example asatellite network over the macrocellular network. Operation of systemsemploying GPS and/or LPS air interfaces are discussed in connection withFIGS. 3-5.

A physical processing circuit as used to implement the mobile unit 105may be implemented in a variety of ways. The preferred way to implementthe mobile unit 105 is using a bus-oriented processor architecturewhereby a central processing unit is coupled to a memory via a bus.Likewise, the bus couples the central processing unit to peripheraldevices such as the user input-output device 210 and air interfacerelated circuits. In an exemplary embodiment, the first air interfaceincludes a 3G W-CDMA air interface modem chip with programmable andspecial purpose circuits. The first air interface also includes a GPSreceiver chip and is therefore a multipurpose air interface capable ofcellular circuit switched communication, packet data communication, andgeographical location. In the exemplary embodiment, the second airinterface (145, 215, 220) is implemented with a digital signalprocessor, programmable logic and an RF front end capable of digitizingsignals with a variety of bandwidths at a variety of center frequenciesusing known software radio front end methods. The software radioprocessor is preferably implemented using high speed digital signalprocessing circuits coupled to programmable logic circuits and is ableto implement a variety of physical and possibly link layer protocollayers.

The configuration and upper layer communication module 225 is preferablyimplemented as a software module that runs on the general-purposeprocessor discussed above. The configuration aspect of the module 220 isoperative to receive a software module from the first air interface(110, 200, 205) and use it to configure the second air interface (145,215, 220). As will be subsequently discussed, the configuration andupper communication layer module 225 also implements upper layers of atleast one protocol stack and provides a consistent interface to userapplications 210. As will be discussed, in some embodiments theconfiguration and upper layer communication module 225 uses a resourcedescription to identify a set of needed lower layer software submodules,causes only the needed software submodules to be loaded, and builds thelower layer software therefrom. In some cases this involves thecompilation of bytecodes from a virtual machine to a specific DSPimplementation.

It should be noted that the hardware architecture of the mobile unit 105may be modified to an all-software radio structure. Some or all of themerging of hardware components discussed below can be used to reduce thereplication of hardware in the system. For example, the antennas 110 and145 are merged into a single multi-mode antenna that handles the antennafunction for both the first and second air interfaces. This implies abroadband or at least a multi-band antenna. The first and second airinterface front ends 205, 215 may also be merged. In such a system, thefront end 215 also provides the front end for the first air interface.Likewise, the software radio processor 220 may be programmed toimplement the first air interface. In this case the mobile unit 105maintains the basic architecture as depicted in FIG. 1, but in atime-multiplexed fashion. When the hardware components are merged asdescribed above the system typically process only one air interface at atime. Multitasking may be used in embodiments having enough softwareradio processing power to provide the appearance of two simultaneouslyavailable air interfaces.

In another embodiment the antennas 110 and 145 are merged, and the frontends 200, 215 are merged, but the air interface module 205 and thesoftware radio processor 220 remain separate so that both air interfacesmay be maintained concurrently with some reduction in hardware. In anyof the embodiments discussed above, the air interface module 205 may beimplemented in software radio hardware as opposed to customizedcircuits.

In operation, the mobile unit 105 is operative to maintain the firstnetwork connection 112 via the network connection antenna 110 (or 140 insome embodiments). The mobile unit 105 preferably moves about in ageographic region, for example carried by the vehicle 102 moving aboutin a city. As the mobile unit 105 enters the vicinity of the local areawireless access point 150, a radio frequency signal is coupled onto thelocal area network antenna 145. In some systems, local area networkantenna 145 is used in a scanning mode to find the local area wirelessaccess point 150. In other embodiments the communication server 135keeps track of the mobile unit 105's position and initiates a hand-offto the local wireless access point. In other embodiments, the mobileunit reports its positional information to the remote network server 125via the first air interface connection 112, and the network server sendssignals to the mobile unit 105 and the local area wireless access point150 to cause the mobile unit and the local area wireless access point toinitiate communication therebetween.

Note that the current system allows the mobile unit 105 to be connectedthrough a transport layer connection to a remote server (e.g., 125, 130,135). The transport layer connection is used to establish a managementsession with a remote server. The remote server can then manage roamingoperations between networks on behalf of the client. Prior art cellularand PCS based solutions use a link layer of an air interface to controlhandoffs. By placing the handoff mechanism at the transport layer orabove, a remote server can control roaming for a client whereby theremote server is independent of any given wireless access system. Thisallows the server to optimize the access of a client over a wide varietyof access providers. Prior art solutions such as mobile IP and SIP workat the upper layers, but do not address the federated access problemaddressed herein. Mobile IP and SIP server based methods can beaugmented by the various aspects of the present invention. The detailsof the operation of the mobile unit 105 in a client-server configurationare discussed further detail in connection with FIGS. 3-5.

Referring now to FIG. 3, a protocol stack is illustrated in blockdiagram form. At the upper layer is the application layer 305. Anapplication layer exists in the mobile unit 105 and communicates with apeer application layer in one or more of the servers 125, 130, 135. Theapplication layer preferably comprises a stub object as is discussedhereinbelow. The application layer 305 invokes a common transportinterface 310 to support communication with lower layers. Preferably thecommon transport interface 310 is implemented as an interface definedover a class of objects in an object oriented programming language suchas Java™. The common transport interface 310 is invoked by theapplication layer program to open a transport connection such as asocket with a remote server, e.g., 125, 130, or 135. In a preferredembodiment a TCP/IP stream socket is opened using a socket-based API.Also, preferably the application layer involves a client-side stubobject (proxy) that communicates with a peer server-side remote objectin the server (125, 130, or 135) using RMI, CORBA, or a relateddistributed object interface. The common transport interface 310converts the method invocations supported by the interface intotransport layer actions to support a transport layer connection with apeer transport layer in a server 125, 130, or 135. Note that multipletransport connections can be opened to more than one server, or amulticast transport connection can be opened to more than once server atonce.

The transport layer implemented by the common transport interface 310invokes methods supplied by a network layer 315. The network layer, asis known in the art, provides network routing related functions insupport of the transport socket. The network layer communicates withtransport layer by calling transport methods advertised to the networklayer by the transport layer. The network layer also communicates with alink layer 320.

The link layer 320 implements the link layer of an air interface. Thelink layer 320 is typically implemented as a portion of a software radioprotocol. That is, the link layer interface is software programmable. Aswill be discussed, in accordance with the present invention, thesoftware program to implement the link layer interface of the second airinterface (145, 215, 220) is received over the first air interface (110,200, 205). This software module is preferably loaded into the softwareradio processor 220 by the configuration and upper layer module 225. Insome embodiments, the received link layer software module is consideredto be an upper layer and is executed by the configuration and upperlayer module 225. The “upper layer” portion of the configuration andupper layer module 225 performs protocol processing for the layers 310,315, and optionally 320. In some embodiments this same processorexecutes code for the application layer 305.

The link layer 320 communicates with a peer link layer in a wirelessaccess point. To do so, the link layer 320 passes data to and from asoftware radio physical layer 325. The software radio physical layerimplements the physical layer of the second air interface protocol. Thisinvolves mainly modulation, coding and channel equalization relatedprocessing. The output of the software radio physical layer is sent to afront-end physical layer 330. The front-end physical layer correspondsto the circuits in the second air interface front end 215. This layer isresponsible for converting the software radio digital output signal intoan analog RF signal for transmission to the local wireless access point150. The front end physical layer is also operative to provide adigitized sample stream based upon the analog signal received by the airinterface antenna 145.

As will be discussed subsequently, a given transport connection may beserviced by one or more sets of lower layers. For example, theapplication layer in the mobile unit 105 may establish a transportconnection with a peer application layer in the server 125. When themobile roams to a locality including the local wireless access point150, a new set of lower layers (e.g., 320, 325 and possiblyconfiguration data for layer 330) are downloaded from the server 125 tothe client. The client then resumes the transport connection using thenewly loaded set of software layers. The common transport interfacelayer is used to ensure that the transition from a first lower layerprotocol to a second lower layer protocol is transparent to theapplication layer.

In accordance with an aspect of the present invention, the lower layers(320 and/or 325) of the protocol stack are composed of a set ofsubmodules made up of objects having interfaces. Each object implementsa software module with a known interface. Certain modules are reusabledue to similarities between certain different protocols. For example,the HiperLAN, HomeRF and Bluetooth protocols all share certain commonfeatures due to their frequency hopping based protocols. In fact, it iscommon for certain standardized protocols to adopt a sublayer orsubmodule that is defined in another protocol. Hence in accordance withan aspect of the present invention, the lower layers are designed usinga set of objects having predefined API's. In one exemplary embodiment,objects implementing these API's are posted on a web site having a knownURL. A resource description framework (e.g., RDF) language is used todefine the structure of a lower layer (e.g. 320 and/or 325). The RDFfile can be read by the client or a server and compared to a list ofobjects presently stored in the mobile unit 105's memory (within 225 or220). Using this approach, client need only download the set ofsubmodules needed at that time by the mobile unit 105 to implement thelower layers as specified by the RDF. The RDF file describes adependence tree of needed modules to implement the lower layer 320and/or 325. Once all the modules specified by the RDF file are loaded,the object representing the lower layer will have available to it all ofthe methods needed to implement the interfaces to perform lower layerprocessing. Using this approach, the time required to download a lowerlayer software module can be greatly reduced.

Referring now to FIG. 4, a method 400 of client-server-providercommunication in accordance with the present invention is illustrated asa multithreaded flow chart. The flow chart of FIG. 4 illustrates methodspracticed individually by a client, a server and a provider. FIG. 4 alsodescribes aspects of the operation of the system 100 and the mobile unit105. Similarly, FIG. 4 is illustrative of a method of selling servicesby a merchant web site that sells wireless access services from afederation of associated access providers. FIG. 4 also illustrates amethod of selling wireless access services by a wireless access providerassociate. FIG. 4 also illustrates a method to augment a wireless systemsuch as a macrocellular system with additional capacity by enlistingadditional bandwidth provided by associates.

In a first step 405 a mobile client such as the mobile unit 105establishes a management session with a server (e.g., 125). Themanagement session may be established at the transport layer or above.The management session is preferably established at the session layer ofthe OSI model or at the application layer 305. The management session isinitially supported by a first air interface such as the air interfaceconnection 112. The management session is established with a networkserver such as the network server 125. In some embodiments the servermay correspond to the communication server 135 or the application server130. For example, the management session is used to log in with a serversuch as a mobile IP server or a SIP (session initiation protocol)server. For the purpose of discussion only and without limitation, itwill be assumed that the server of FIG. 4 is a network server 125 andthe network server uses the SIP protocol to establish sessions on behalfof the mobile unit 105. As will be discussed, the management session isused to supply the mobile unit with an air interface connection to thewireless access point 150. Once this lower layer connection isestablished, the client (105) can access the Internet 122 using thisconnection. The optional mobile IP and SIP services are used to providethe mobile unit 105 with a temporary IP address while connected to thewireless access point 150. Other hierarchical mobile IP addressing androuting schemes may also be used to support the upper layers once theair interface connection (145, 150, 113) is established.

In a step 410 the server establishes a server-side management sessionwith the client. Once the management session is established between theclient and the server, the server works on behalf of the client toensure the client is provided with optimized wireless accessconnectivity. The optimization is supplied according to userpreferences. For example, some users seek to minimize costs, whileothers may be more sensitive to reliability and connection speed. Usersmay also request different optimization strategies at different timesfor various reasons.

Once the management session is established between the client and theserver, in a step 415 the client transmits a set of information to theserver. This information may include a service request and/or alocation. The service request for example may be for a high-speedwireless link of 128 kbps-peak speed at as low of a cost as possible.The location information may be conveyed, for example, as a set of GPScoordinates. GPS and/or LPS coordinates may be sent to the server in anaspect of the present invention in order to help the server to select awireless access point 150 to service the client 105.

In some embodiments the step 415 also involves interacting with a localwireless access point. In such embodiments, a common access channel or aset of access channels is scanned by the wireless access point 150and/or the mobile unit 105. For example, the mobile unit 105 sends codesout on a plurality of access channels. If a wireless access pointreceives the code, it can either send an acknowledgement to the mobileunit 105, send a report message to the server 125, or both. Like wisethe wireless access point may broadcast on an access channel and themobile unit may scan a set of access channels. In this case the mobilesends an acknowledgement message to the wireless access point and/orsends a report message to the server 125. In other embodiments, noaccess channels are used, but the server 125 determines a wirelessaccess point 150 based on GPS or LPS data reported by the mobile unit105.

In accordance with another aspect of the present invention, the step 415can be carried out in an alternative way. For example, suppose a clientin the U.S. is getting ready to travel to France. When the client devicearrives at its destination, the first air interface 110, 200, 205 maynot be operational. In such a case the method 400 may be split overtime. The user enters a destination into the user input-output device210 or to a computer that communicates with the mobile device using, forexample, an RS-232 connection or a Bluetooth connection. The destination(e.g., Paris) is transmitted to the central server 125 in the step 415and the method steps 445 and 440 as discussed below are allowed toproceed early. Note that only specific submodules may be need to bealtered to make the protocol used in the U.S. compatible with theprotocol used in France, and only those submodules need be loaded if aresource description framework description is used to specify the lowerlayer interface in accordance with an aspect of the present invention.Another way to address the problem of roaming when the first airinterface is not available is to use a satellite overlay, 140, 200, 205.The satellite connection then serves as the first air interface tosupply the needed air interface protocol information to the clientdevice.

In a step 420 the server processes the user's service requestinformation and selects an access provider to supply the service. Forexample, a local area network may be available by the local wirelessaccess point 150. The server may take various issues into account whenselecting a provider. Preferably the server maintains a profile recordof the client's device. It may be known to the server that certainclient devices are more adept at implementing certain protocols thanothers, and the client's optimization criterion parameters are alsopreferably taken into account. The server also preferably maintains arecord of the lower sublayers loaded into the mobile unit 105 at thattime. In some embodiments the client transmits a list of loaded modulesto the server. The server then identifies the lower layer submodulesthat need to be pushed to or downloaded by the client. In someembodiments, the server identifies the required lower layer protocol tothe client, and then the client optionally downloads the needed sublayermodules from the same server or a different server after performingoptional RDF processing to streamline the download process. All suchembodiments are within the scope of the present invention.

The step 420 processes the client's information to select a localservice provider to service the client with a wireless access point.Once the wireless access point 150 is selected, the server enlists thewireless access point 150 to provide the service (430). In a preferredembodiment, a remote associate enrolls the availability of the wirelessaccess point 150 with the server 125 in a step 425. As is discussed inconnection with FIG. 5, this is preferably performed electronicallyusing an on-line registration process. Once the associate is enrolled asa provider, it can contract to provide services to the client on behalfof the server 125. In a step 435, the associate, i.e., the wirelessaccess provider who operates the wireless access point 150 contractswith the server to provide the access.

It should be noted that the associates in the federation may includesmaller providers and larger providers. A smaller provider might be theowner of a home on a beach. This homeowner sets up an IEEE 802.11wireless LAN to provide access to sunbathers. Another example might bethe owner of a mall or an airport. A large associate might be a cellularoperator in another service area. In the example above, a client fromthe U.S. travels to France and the associate in that case is cellularoperator using a European standard as opposed to a U.S. standard. Inprior art systems, roaming charges are agreed upon between cellularoperators and users suffer accordingly. According to an aspect of thepresent invention, roaming is contracted by the central server 125. Thecentral server 125 is an independent agent who acts on behalf of theclient to secure an optimized service. For example, each associate maypost a required fee for services, and depending on an individual user'susage profile, the server 125 may select the most economical wirelessaccess solution. In one embodiment, each associate posts a serviceprofile and a fee schedule and the central server then selects theassociate who best meets the client's needs. This embodiment provides abidding marketplace whereby the central server shops for wireless accesson behalf of the client.

Once the wireless access provider 150 has indicated the availability ofthe resource in the step 435, the server transmits a lower layerprotocol identification message to the client in a step 445. Thismessage may involve pushing a lower layer software module to the client.In another embodiment, the server maintains a list of submodules alreadyloaded in the client and uses an RDF or related description of the lowerlayer to identify those submodules that need to be loaded into theclient to implement the lower layer of the contracted provider. In otherembodiments the message sent by the server in the step 445 identifiesthe needed layer and the client downloads the needed software modulesfrom the same or another server, preferably using RDF or a similardescription framework to streamline the downloading process. In a step440, the client loads the needed lower-layer modules, either bydownloading or by receiving a push.

In the step 440, the client loads the modules and then sends anacknowledgement message back to the server. If the loading process issuccessful and the new lower layer is operational, the server willreceive the acknowledgement message. The acknowledgement message ispreferably sent using the same upper-layer management session as wasused in the steps 405, 410. In some embodiments a separate session maybe used for acknowledgement messages. If the acknowledgement fails,communication is resumed using the first air interface and the processcan be repeated to find another secondary air interface provider.

When the acknowledgement is successful, the server preferably sends backa second acknowledgement to the client to let it know the new airinterface is operational. At that time the client transitions to a step450 where it switches over the lower layers of the protocol stack to thenew protocol. Prior to this the new air interface was used to establishthe new connection, but at the step 450, the upper layers of theprotocol stack to include application layer processing now takes placeover the newly installed lower layers. It can be noted that a givenclient may maintain different sessions (e.g., some for applications andsome for communication link management) that use different airinterfaces. In such systems, the software radio must be able to load twoair interfaces at once or at least time-division multiplex between twoair interfaces.

In the step 450 the client switches to the new air interface using thelink and physical layer connections to the wireless access provider 150.The wireless access provider 150 maintains communication connectivitywith the client in a step 455. In an optional step 465, the wirelessservice provider submits a usage report to the server. In an optionalstep 460, the server maintains an account record for the user based onthe usage. In other embodiments no usage report is sent, but the user(client) is charged a fee for the connection. In still otherembodiments, the user pays a flat rate such as a monthly rate and theuser is not directly charged for the specific connection to a givenwireless access point 150. Generally, however, the server maintains anaccount record for the client and/or the provider. In a step 470 theserver collects funds from the client and distributes some of thesefunds to the associate/provider. The provider then receives compensationin the step 475.

In accordance with a preferred embodiment of the present invention, theclient also submits a quality report to the server. This is shown by thedouble arrow between the step 450 and the step 460. If the connectionquality supplied by the wireless access point 150 does not meet aquality of service requirement, the connection may need to be terminatedearly. By having the clients report quality factors (e.g., number oflink layer frames in error), the server 125 may maintain a record on thequality and reliability of the connection supplied by the associate or aspecific wireless access point 150. This quality feedback can also beused to provide real-time feedback to be used in the associate-selectionprocess of the step 420. Certain associates may provide good serviceuntil an overload condition is met, and the server will not want toassign any new users to that associate at that time. The serverpreferably maintains a record of the quality of the wireless accesspoint 150's service and uses this indication to grade the associate. Auser seeking to minimize costs might be switched to a “grade B” accesspoint while a user who specifies a quality of service based optimizationparameter may only use “grade A” associates. That is, the qualityratings of the federated wireless access points are preferably used tooptimize the selection process of the step 420. In another aspect of thepresent invention, the amount of compensation provided in the step 470for a wireless access point 150 may be influenced by the quality ratingssupplied by client users.

In accordance with another aspect of the present invention, the centralserver also uses the step 460 to manage the wireless access point byproviding it with feedback and coordination data to improve its qualityrating. To do this the server 125 maintains a geographical digital mapidentifying the locations of one or more associated wireless accesspoints. The server 125 then evaluates potential interference betweenassociated wireless access points. If two wireless access points produceco-interference, the server attempts to resolve this by sending down,for example, orthogonal hopping sequences to the two stations. Inaccordance with another aspect of the present invention, non-associatedwireless access points 150 may also use this service. For example,suppose a non-associated wireless access point is having interferenceproblems. The provider of the non-associated wireless access point maylog into an on-line form to register with the central server 125. Forexample the non-associated wireless access point's air interfaceparameters and its location are entered into a web page form. Now theserver 125 evaluates co-interference and attempts to orthogonalize bothassociated and non-associated access points. The server preferably keepsregistered non-associates in the database and subsequently updatessystems as needed, for example as new wireless access points are added.This aspect of the present invention provides a central server means forreducing co-channel interference among a loose federation of associatedand non-associated wireless access points. Orthogonalizations caninvolve assignment of frequency bands, direct sequence spread codes,frequency hopping sequences, time slot usage and/or synchronizationsources.

Referring now to FIG. 5, a method of selling wireless access services bya federated set of associates through a merchant web site is illustratedin flow chart form. This method of selling may also be used, forexample, by a communication services provider to augment a cellular orPCS system with associate picocell sites to increase system capacity.For example, it may be desirable to offload cellular data or telephonytraffic emanating from a busy area like an airport or mall onto a localarea network. The cellular operator may wish to contract with thirdparties to offload traffic, for example when the system capacity hasotherwise met its limit.

In a first step 505 an associate is enrolled into a federation ofwireless access providers. In accordance with an aspect of the presentinvention, this is preferably done using an on-line registration form.Other methods of enrolling are also possible, such as by phone, mail orother means. A plurality of associates preferably register to providewireless access services on behalf of a merchant web site that provideswireless access services, or on behalf of a communications systemoperator as described above. In general, the associates register with acentral server entity (e.g., 125, 130, or 135).

In a second step 510 a network transaction is made between the centralserver entity and the newly enrolled associate. The step 510 may also beperformed prior to completion of the enrollment process to ensure alevel of quality control. In the step 510, the central server entityperforms network handshake transactions with the equipment supplied bythe associate. This handshaking procedure allows an associate topurchase a system, set it up, plug it into a back-haul networkconnection (e.g., DSL or a cable modem wireline connection) and thenhave the system enter an autoconfigure mode. In the autoconfigure modethe associate's wireless access system 150 handshakes with the centralserver (e.g. 125) to make the resource 150 and its air interface knownto the central network server. By the end of the enrollment andhandshake steps, the associate's system is ready to carry traffic. Thetraffic may involve data, voice, video, or in general any combination ofmultimedia signals.

In a step 515 a client such as the mobile unit 105 establishes amanagement session with the central server such as the server 125. Themanagement session was discussed in connection with FIG. 4. Themanagement session provides a virtual link for the client and server tocommunicate so that the server may allow the client to access thewireless access point 150 supplied by the associate.

In a step 520 user information is sent to the central server, preferablyvia the management session link. The user information informs thecentral server of the architecture, limitations, present configuration,and/or location (e.g., using GPS or LPS) of the mobile unit 105. Inembodiments where the central server corresponds to the communicationserver 130, the location of the client may be known due to handoffrelated information maintained by the server 130. However, if thecentral server corresponds to the network server 125, the central server125 may not know the client's location unless indicated by the client.In this type of embodiment the central server 125 wishes to move themobile unit to an air interface operated by an associate to provideeither lower cost service or an increased data rate to the client. Instill other embodiments the location information maintained in thecommunication server 130 may be passed to the central server 125. Thismay occur, for example if the central server is able to present anauthorization code to the communication server 130. In still otherembodiments the mobile unit 105 and the wireless access point 150 mayidentify one another through access channel scanning interactions asdescribed above.

In a step 525 an air interface protocol for use with the wireless accesspoint 150 is indicated by the central server to the client. Thisoperation may involve a simple protocol number whereby the client thenselects an appropriate air interface in a multi-mode device. Inaccordance with an aspect of the present invention, some embodimentsinvolve sending to the user a software module implementing a lower layerof an air interface protocol for use by a software radio. The softwaremodule is preferably written in the Java language (or some othervirtual-machine bytecode language) so that it is portable. The softwaremodule is preferably also described by a resource description framework(RDF) type language to define a set of sublayer resources needed toimplement one or more lower layers of the air interface used by thewireless access point 150. The client (mobile unit 105) then preferablydownloads or is pushed only those modules needed to implement the airinterface. As much software module reuse as possible is used by havingcertain modules be reused by more than one protocol. Also, when theconfiguration module 225 includes a just-in-time compiler, it may bepreferable to keep the reusable modules in compiled form.

Another aspect of the step 525 is the optional substep of performingjust-in-time compiling in the central server (e.g., 125) on behalf ofthe client (e.g., 105). The central server may maintain a table ofarchitectures, and if the architecture of the mobile unit 105 is known,the central server may make accessible a precompiled set of softwaremodules or submodules to the client. The server may also decide whetherit is preferable to send the bytecodes themselves or the precompiledbytecodes on a selective basis. The selectivity may involve a userparameter that indicates battery optimization parameters and bandwidthconstraints. For example, it takes client battery power to compile thebytecodes in the client. Also the size of the precompiled code versusthe raw bytecodes needs to be evaluated. If the precompiled code issmaller it is preferable to send the precompiled bytecodes on a point topoint link. If the link is point to multipoint, it is better to send thebytecodes. If battery consumption is a key factor, the server may electto precompile the bytecodes.

In a step 530 a message is optionally sent to the access provider. Thismessage includes a client authorization code that lets the access point150 know the client has been authorized by the central server to use theservice provided by the access point. In a step 535, the central servermaintains financial and billing information on behalf of the associate.Based on the contract between the central server and the associate, theassociate will receive compensation for providing access to clients. Forexample, the associate may be paid a flat monthly rate, may be paidbased on the number of client sessions established over a given periodof time, or may be paid based on the number of packets that transit toand/or from clients authorized to use the wireless access point 150 bythe central server 125. Other payment plans are possible, but thesemethods are deemed to be preferred at this time.

Although the present invention has been described with reference tospecific embodiments, other embodiments may occur to those skilled inthe art without deviating from the intended scope. For example, certainones of the steps of the methods or blocks of the apparatus or systemsmay be omitted. For example, the methods 400 and 500 may be used to setup a federated system of associates that all use a fixed and specificset of protocols for the second air interface (145, 215, 220). Forexample, a given associate may implement IEEE 802.11, HomeRF, and/orBluetooth and the mobile unit 105 may be hardwired to support one ormore of these protocols. In such embodiments, for example, the stepsrelated to downloading lower layers to a software radio could beomitted. Therefore, it is to be understood that the invention hereinencompasses all such embodiments that do not depart from the spirit andscope of the invention as defined in the appended claims.

1-20. (canceled)
 21. A method for use in a system comprising a mobileunit, a cellular network including a cellular base station, a wirelesslocal area network, and a remote server system that is remotely coupledvia an Internet to both the cellular base station and the wireless localarea network, wherein the remote server system is configured tofacilitate a handoff operation at least in part by managingcompatibility issues associated with roaming between different types ofnetworks, the method comprising: establishing an application layercommunication between a first peer application program resident in themobile unit and a second peer application program resident in a remotecomputerized device; the mobile unit receiving, at least indirectly fromthe remote server system, one or more executable software modules thatare not already present in the mobile unit prior to the handoffoperation to be loaded into the mobile unit in order to implement acommunication protocol feature to enable the mobile unit to communicateusing the communication protocol feature after the handoff operation;and switching a wireless Internet access connectivity of the mobile unitfrom the cellular network to the wireless local area network, to therebyeffect the handoff operation, wherein the switching is performed atleast in part, by switching at least one portion of a lower layer of aprotocol stack in the mobile unit from a cellular network air interfaceprotocol software to a wireless local area network air interfaceprotocol software, and the wireless local area network air interfaceprotocol software includes at least one of the one or more executablesoftware modules; wherein the first peer application program interactswith the protocol stack at an interface point above the at least oneportion of the lower layer of the protocol stack affected by theswitching, so that the switching is transparent to the first peerapplication program, and whereby the switching is performed in a mannerwhich results in continuity of the application layer communicationbefore and after the handoff operation.
 22. The method of claim 21,wherein the remote computerized device is a remote telephony endpoint,and the first peer application program is a voice-over-Internettelephony application program that uses the SIP protocol to set up avoice telephony call to a the remote telephony endpoint.
 23. The methodof claim 21, wherein the handoff operation is managed by the remoteserver system.
 24. The method of claim 21, further comprising: executingthe first peer application program as a client side application program;performing at least a first client-server interaction between the firstpeer application program and the second peer application program, priorto the switching, by interacting with the protocol stack in the mobileunit; and performing at least a second client-server interaction betweenthe first peer application program and the second peer applicationprogram, after the switching, by interacting with the protocol stack.25. The method of claim 22, wherein the switching is performed in aseamless manner to thereby maintain continuity of the voice telephonycall, the voice telephony call including a first call portion which isestablished prior to the switching, and a second call portion which isestablished after the switching.
 26. The method of claim 21, wherein theswitching is performed in a seamless manner to thereby maintaincontinuity of a single voice telephony call including a first callportion which is established at least partially via the wirelessInternet connectivity prior to the switching, using a packet switchedtelephony protocol, and a second call portion which is established atleast partially via the wireless Internet connectivity after theswitching, using a voice-over-Internet telephony protocol.
 27. Themethod of claim 21, further comprising: sending to the remote serversystem an indication that the mobile unit is in a coverage area of thewireless local area network.
 28. The method of claim 27, wherein theindication that the mobile unit is in the coverage area of the wirelesslocal area network includes an identification of a GPS data setindicative of a current location of the mobile unit.
 29. The method ofclaim 27, wherein the indication that the mobile unit is in the coveragearea of the wireless local area network includes an indication that themobile unit and the wireless local area network have made radio contact.30. The method of claim 21, wherein the cellular network and thewireless local area network are operated by different service providers.31. The method of claim 30, wherein the remote server system managesrevenue sharing between the different service providers.
 32. The methodof claim 21, wherein the remote server system further employs anoptimization strategy to determine whether it is superior for the mobileunit to obtain the wireless Internet access connectivity from thewireless local area network than to continue obtaining the wirelessInternet access connectivity from the cellular network.
 33. The methodof claim 32, wherein the optimization strategy takes into account atleast one user-defined preference.
 34. The method of claim 32, whereinthe optimization strategy takes into account the economic cost ofobtaining service from a plurality of different service providers and isdesigned to minimize costs to the mobile unit.
 35. The method of claim32, wherein the optimization strategy takes into account the economiccost of obtaining service from a plurality of different serviceproviders, and the remote server system assists in assuring that aservice provider associated with the wireless local area network will becompensated for providing access service to the mobile unit.
 36. Amethod for use in a system comprising a mobile unit, a cellular networkincluding a cellular base station, a wireless local area network, and aremote server system that is remotely coupled via an Internet to boththe cellular base station and the wireless local area network, whereinthe remote server system is configured to facilitate a handoff operationat least in part by managing compatibility issues associated with themobile unit roaming between different types of networks, the methodcomprising: the mobile unit receiving, at least indirectly from theremote server system, one or more executable software modules that arenot already present in the mobile unit prior to the handoff operation tobe used by the mobile unit to implement a communication protocol featureafter the handoff operation; and switching a wireless Internet accessconnectivity of the mobile unit from the cellular network to thewireless local area network, to thereby effect the handoff operation,wherein the switching is performed at least in part, by switching atleast one portion of a lower layer of a protocol stack in the mobileunit from a cellular network air interface protocol software to awireless local area network air interface protocol software, and atleast one layer of the protocol stack beneath a transport layer includesat least one of the one or more executable software modules; wherein theswitching is performed in a manner which results in continuity of anupper layer communication between the mobile unit and a remotecomputerized device coupled to the Internet, to thereby providetransparency of the handoff operation to one or more upper layersoftware modules involved in the upper layer communication, wherein theupper layer is a layer of the protocol stack above an uppermost layer ofthe protocol stack involved in the switching.
 37. The method of claim36, wherein the remote computerized device is a remote telephonyendpoint, and the one or more upper layer software modules includes avoice-over-Internet telephony function that uses a session initiationprotocol (SIP) to set up a voice telephony call to the remote telephonyendpoint.
 38. The method of claim 36, wherein the handoff operation ismanaged by the remote server system.
 39. The method of claim 36, furthercomprising: executing a client side application program thatcommunicates with a peer application layer program running on the remotecomputerized device; performing at least a first client-serverinteraction between the client side application program and the peerapplication layer program, prior to the switching; and performing atleast a second client-server interaction between the client sideapplication program and the peer application layer program, after theswitching.
 40. The method of claim 37, wherein the switching isperformed in a seamless manner to thereby maintain continuity of thevoice telephony call, the voice telephony call including a first callportion which is established prior to the switching, and a second callportion which is established after the switching.
 41. The method ofclaim 36, wherein the switching is performed in a seamless manner tothereby maintain continuity of a single voice telephony call including afirst call portion which is established at least partially via thewireless Internet connectivity prior to the switching, using a packetswitched telephony protocol, and a second call portion which isestablished at least partially via the wireless Internet connectivityafter the switching, using a voice-over-Internet telephony protocol. 42.The method of claim 36, further comprising: sending to the remote serversystem an indication that the mobile unit is in a coverage area of thewireless local area network.
 43. The method of claim 42, wherein theindication that the mobile unit is in the coverage area of the wirelesslocal area network includes an identification of a GPS data setindicative of a current location of the mobile unit.
 44. The method ofclaim 42, wherein the indication that the mobile unit is in the coveragearea of the wireless local area network includes an indication that themobile unit and the wireless local area network have made radio contact.45. The method of claim 42, wherein the cellular network and thewireless local area network are operated by different service providers.46. The method of claim 45, wherein the remote server system managesrevenue sharing between the different service providers.
 47. The methodof claim 36, wherein the remote server system further employs anoptimization strategy to determine whether it is superior for the mobileunit to obtain the wireless Internet access connectivity from thewireless local area network than to continue obtaining the wirelessInternet access connectivity from the cellular network.
 48. The methodof claim 47, wherein the optimization strategy takes into account atleast one user-defined preference.
 49. The method of claim 47, whereinthe optimization strategy takes into account the economic cost ofobtaining service from a plurality of different service providers and isdesigned to minimize costs to the mobile unit.
 50. The method of claim47, wherein the optimization strategy takes into account the economiccost of obtaining service from a plurality of different serviceproviders, and the remote server system Bassists in assuring that aservice provider associated with the wireless local area network will becompensated for providing access service to the mobile unit.
 51. Amethod for use in a system comprising a mobile unit, a cellular networkincluding a cellular base station, a wireless local area network, and aremote server system that is remote to both the cellular base stationand the wireless local area network and is configured to facilitate ahandoff operation at least in part by managing compatibility issuesassociated with the mobile unit roaming between different types ofnetworks, the method comprising: the mobile unit receiving, at leastindirectly from the remote server system, one or more executablesoftware modules that are not already present in the mobile unit priorto the handoff operation to be used by the mobile unit to implement acommunication protocol feature after the handoff operation; andswitching a wireless access connectivity of the mobile unit from thecellular network to the wireless local area network, to thereby effectthe handoff operation, wherein the switching is performed at least inpart, by switching at least one portion of a lower layer of a protocolstack in the mobile unit from a cellular network air interface protocolsoftware to a wireless local area network air interface protocolsoftware that includes at least one of the one or more executablesoftware modules; wherein the switching is performed in a manner whichresults in continuity of an upper layer voice communication sessionbetween the mobile unit and a remote voice telephony endpoint.